import axios from 'axios';

// 创建 axios 实例
const service = axios.create({
    baseURL: 'https://apifoxmock.com/m1/4840030-4495188-default',
    timeout: 10000,
});

// 请求和响应拦截器
service.interceptors.request.use(
    (config) => {
        console.log("请求拦截器");
        return config;
    },
    (error) => {
        return Promise.reject(error);
    }
);

service.interceptors.response.use(
    (response) => {
        console.log("响应拦截器");
        return response;
    },
    (error) => {
        return Promise.reject(error);
    }
);

/**
 * 封装的请求函数
 * @param url 请求地址
 * @param method 请求方法，支持 'get' 和 'post'
 * @param data 请求数据，对于GET请求会被忽略
 * @returns Promise<any>
 */
function rq(url: string, method: 'get' | 'post', data?: any): Promise<any> {
    if (method === 'get') {
        return service.get(url, { params: data });
    } else if (method === 'post') {
        return service.post(url, data);
    } else {
        throw new Error('Unsupported request method');
    }
}

export { rq };